The invention is related to monitoring service quality in a communications network, such as in a Signaling System Seven (SS7) network, and, more particularly, to real-time and historical processing of Call Detail Records (CDR) to determine network service quality.
Common channel signaling networks, such as the Signaling System Seven (SS7) based signal system, use dedicated channels to pass digital messages between systems for call setup, call control, call routing, and other functions. These dedicated signaling channels are part of a network that is separate from the network that carries the actual voice and data signals. An SS7 network is a separate switching system which is used prior to, during, and at the end of an actual voice or data call. The SS7 network is used to route control information. Whenever two switches or elements have to pass call control information during or prior to a phone call, they pass this data via the SS7 signaling network.
There are three basic types of network node elements in an SS7 network. One of them is the Service Switching Point (SSP), which may be a central office switch, a tandem switch or an end office switch. A second principal node element is the Service Control Point (SCP). An SCP acts as a database query server for the rest of the network. An SCP is used in such applications as translating ported telephone numbers, routing 800 calls, tracking roamers in a cellular network, and Alternate Billing Service/Line Identification Database services (or ABS/LIDB) which provide operator-type services. The third principal node element is the Signal Transfer point (STP). An STP is essentially a packet switch that routes the messages from SSPs and SCPs to SSPs and SCPs.
It is possible to combine these three different types of nodes into a single node. However, in North America, they are typically not combined. An SSP performs only switch functions, an SCP only control functions, and an STP only signal transfer functions. In European telecommunications systems, all of these different functions may be combined into one node.
The SS7 network carries a great deal of information and is extremely critical to the operation of the phone system. If an SS7 network is not functioning, or if portions of it are not operating, the phone system simply cannot deliver phone calls, even though all of the voice circuits are operating properly. The capacity and complexity of the SS7 network is small in terms of circuitry and bandwidth utilized by an end user compared to previous voice and data networks. The circuitry of the SS7 network is therefore much more critical. The actual elements in the SS7 network do not provide all the information required in network operations to manage and to determine the health and state of an SS7 network. It is therefore necessary for the telephone industry to deploy surveillance equipment to monitor the links connecting the nodes of the SS7 network.
The topology of the network is such that STPs are typically deployed in a mated pair configuration at geographically separate locations. Connected to a mated pair of STPs will be a set of SSPs and SCPs. This conglomeration of SSPs, SCPs and mated Pair STPs is called a cluster. Clusters are then connected by D-Quad links between STP mated pairs. The mated pair configuration system is not required and it is not used in all communications systems capable of employing the present invention.
When any call, transaction or message is sent between two different devices on the network, it is often the case that the messages going from switch A to switch B travel one route on the network while the messages going from switch B to switch A travel a different route. The network surveillance equipment that monitors the link is designed to capture and correlate as much signaling information as possible regardless of network activity. Because of the different data paths that messages may take, it is difficult to do this correlation above what is called the transport layer when monitoring links at the STP sites. An example of an application level problem would be where a subscriber has a problem getting his/her calls delivered. The telephone company may attempt to fix the problem by doing a trace of all data pertaining to that subscriber""s phone number, but the data may not all be located at one point. The data may be all in one STP, or split in some fashion, partially in one STP and partially in the other STP of a mated pair, which may be in a different city many miles away.
It is an object of the present invention to process call detail records from a monitoring system that correlates substantially all calls and transactions in a communications network and generates call detail record data from the call and transaction records.
These and other objects, features and technical advantages are achieved by a system and method in which call detail records (CDR) are received from a network monitoring system. The monitoring system generates CDRs for calls, transactions, and/or other communication on a network. For example, the monitoring systems may have network monitors that capture communication messages and message signal units (MSU) from links in a communications network. The links may be between the originating, intermediate, and terminating nodes, switches or end offices. The messages or MSUs are captured and used to generate call detail records. A network of signal monitoring units may capture and correlate all messages for a particular call, transaction or other communication. Preferably, the monitors have a plurality of processors for processing the captured messages or MSUs. The processors may run any of a number of message or record processing applications.
Typically, CDR profiles are used to determine which messages or other data should be included in the CDRs. The CDR profile comprises particular parameters that are used to identify relevant calls, transactions or other communications. After a transaction record is selected, specific information is extracted to create a CDR record. Users define both the CDR profile, which is used to select relevant records, and the CDR format, which defines how the CDR data will be sent to the user. The CDR data is sent to a quality monitoring system in a formatted CDR stream. The CDR data may be used to monitor network quality in real-time. Additionally, the CDR data may be stored so that historical network analysis may be performed. The CDRs may also be processed by other applications, such as billing or fraud applications.
Typically, the CDR is generated when a call is completed. The CDR includes information such as the originating network, terminating network, and length of trunk usage for the call. Since the identity of the originating service provider and the duration of the call or transaction are contained in the CDR, a CDR billing application may be used for generating interconnection revenue for reciprocal compensation. External applications may use the CDR data to generate bills or track SS7 bandwidth use. The CDR data can be ported to a customer""s external application, where the call can be rated and a bill or invoice can be generated for the transaction or call.
In the present invention, a quality assurance application provides an integrated platform for message tracking on a per customer and/or a per service provider basis. The tracked messages may be part of one of a number of message protocols, such as Integrated Services Digital Networkxe2x80x94User Part (ISUP), Telephone User Part (TUP), Network User Part (TUP), Transaction Capabilities Application Part (TCAP), Advanced Intelligent Network (AIN) or Integrated Network Application Part (INAP) calls or transactions. The quality assurance application is useful for larger networks or for evaluating service quality of application-layer services, such as FNAP, Global System for Mobile Communications (GSM), AIN, IS-41 and 800/LIDB/CLASS.
The system disclosed herein comprises a number of monitors which are capable of non-intrusively monitoring all of the links in a communication network, such as an SS7 network. CDR data is initially collected from the various SS7 links. The monitors that are connected to the links store the data in a binary format. The binary data is then continuously sent to the central server where it is stored to disk. This application can be used in conjunction with the monitor""s server, or customers may choose to deploy a dedicated CDR server, separate from the system. The server also correlates partial CDRs that have been collected from different xe2x80x9clegsxe2x80x9d of each individual call to formulate a complete CDR. At the server, CDRs are formatted from binary into ASCII-formatted records based on a CDR format that is selected by the user. The size and processing power of the server are scaled based on the number of CDRs, the network-wide call rate, and the bandwidth capacity of the customer""s transport network. The formatted CDR binary streams are sent to the user""s billing system using any standard or customized File Transfer Protocol (FTP). Additional data formatting may be performed in the customer""s external billing system.
In order to generate CDRs, users create profiles that tell the monitor system how to collect SS7 information from the signaling links. The profiles contain all of the information required to generate CDRs. Multiple profiles can be created to be used simultaneously on the system. The profiles may include parameters such as the calling party number, called party number, mobile identification number (MIN), point codes, and application type. Essentially, any component of a transaction signaling unit may be used as a filter parameter.
In one embodiment, the quality assurance application runs on a server that is external to the network monitoring system. The monitoring system provides data to the external server in the form of Call Detail Records (CDRs). The quality assurance application tracks the quality of service that is provided to customers on a particular communications network. The present invention allows customers, service providers and others to monitor how a service is performing not only within the network infrastructure, but also how well that service is working on a call-by-call, customer-by-customer basis. Additionally, the present invention allows service providers to efficiently manage network services without requiring an increased support staff.
The quality assurance application runs on an independent server and processes CDRs that are received from the monitoring system. In an exemplary embodiment, individual monitoring units exchange and correlate messages into call or transaction records. The monitoring unit then filters the records using a CDR profile to determine which records, and which messages, should be combined to form the CDR. The monitoring units then transmit the CDRs directly to the external server. In an alternate embodiment, some other entity in the monitoring system such as a central server, may generate and forward CDRs to the independent quality assurance application.
A CDR collection process on a CDR server collects all of the legs of a transaction, call or other communication and correlates the individual leg information into a single CDR. The CDR is then put in the required format. The CDR consists of data from multiple message that are related to a single transaction, call or message.
The CDR server, which may or may not be a dedicated server, acts as a client and initiates the connection to an external system on a predefined port number. A configuration file on the CDR server designates an IP address and port where all the formatted CDRs are to be directed. All CDRs will be streamed to the external system and no application level protocol will be followed. The underlying protocol will be TCP/IP. All MSUs related to a single transaction are packetized in a single CDR and a CDR will be generated and sent for every transaction. The CDRs are destroyed as soon as they are successfully transmitted from the CDR server to the external system. No acknowledgment is expected from the external system for CDR receipt. For each unique pointcode in a profile the server spawns a TCP/IP connection to an external system to send CDRs. If the pointcode is repeated in multiple profiles, only one connection shall be established. A configuration file lists the pointcode to connection/port number mapping. If a pointcode is not listed in the configuration file, CDRs generated for this pointcode will be destroyed immediately. A log is kept to track when the connections are established or down and to track the numbers of CDRs sent and dropped hourly and daily.
The configuration file mapping method may also be defined to provide a CDR profile to connection mapping. In this case, all CDRs generated by a profile are sent to the same destination.
The CDR server may store CDRs on a local disk using a predefined file naming convention so that all CDRs for a profile are stored in one file. New files are created for a defined interval and, as soon as the file is closed, an external system can retrieve the file using FTP, or some other protocol.
The quality assurance application provides service quality analysis tools and reports. The application generates historical statistic reporting for circuit-based services or for application-layer services. The statistics are maintained in a database which can be accessed to generate quality of service reports. When used to monitor service on an SS7 network, the present invention provides users with the capability to select from a number of parameters which can be used to filter call, transaction or other communication records. Filters may be based upon called and calling numbers, or groups of digits within the called or calling numbers. Additionally, application types and point codes may be used as filter parameters.
The quality assurance application maintains statistics for all ISUP/TUP circuit-based calls. Statistics are maintained by called number, calling number and translated number. Users may generate reports for the statistical information by accessing the database through a workstation. The reports may be customized using various indices, such as by called, calling, or translated number.
Additional statistics may be monitored and other reports may be created for other communications networks or protocols. For example, TCAP statistics may be monitored and reports may be generated by service as well as by called, calling and translated number. Statistics for other application layer services could also be monitored. Such as for INAP, GSM, AIN, IS-41 and 800/LIDB/CLASS services.
Communications network monitoring equipment which may be used in conjunction with the present invention is disclosed in U.S. Pat. No. 5,592,530, entitled TELEPHONE SWITCH DUAL MONITORS; and in the above-referenced pending patent applications the disclosures of which have been incorporated by reference herein. Additionally, the present invention may be used with any network monitoring equipment or other equipment that generates call detail records. Such network monitoring equipment may include hardware and/or software that is integral to a communications network node. Alternatively, the monitoring equipment may be external hardware and/or software that detects call, transaction or other messages passing over communications links between network nodes. The systems and methods disclosed herein are capable of receiving and processing call detail records from any source. As used herein, the term call detail record refers to any record or message that comprises data related to a call, transaction or other communication on a network.
It is a feature of the present invention to track performance statistics for a communications network. The invention provides statistical reports that allow users to determine the reason for call failures and to identify portions of the network which are not operating properly.
It is another feature of the present invention to allow customers, service providers and third parties with the ability to monitor a the quality of service on a particular communications network. Customers can use the statistical reports to determine their service provider""s quality of service. The present system can also be used by customers to determine if the customers"" systems are providing adequate service. For example, call centers can use the statistical data to determine whether additional agents are needed to answer calls that have been dropped due to busy lines. Service providers may use the information to monitor the service provided by their network and to identify failure points on the network. Service providers can also monitor the quality of service provided by other service providers on other networks.
It is an additional feature of the invention to generate statistical reports for called, calling or translated numbers or for services. Additionally, users can designate particular link sets to be used for the statistical report generation. As a result, only those monitors capturing messages from the designated link sets will send CDRs to the quality of service application.
It is another feature of the present invention to provide statistical reports in real-time on a network-wide basis for both calls and transactions. Historical reports may also be created from CDR data that is stored to a database.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and the specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims.